package com.itheima._04字节字符转换流;

import java.io.*;

/**
    目标:字符输出转换流(了解)

    字节字符转换流：
        字符输入转换流（InputStreamReader）：可以解决不同编码读取文件乱码的问题。
        字符输出转换流（OutputStreamWriter）：可以指定编码写字符出去。
         字节流                                                    字符流
    字节输入流                字节输出流                    字符输入流           字符输出流
    InputStream             OutputStream                  Reader              Writer           (抽象类，只是类型)
    FileInputStream         FileOutputStream              FileReader          FileWriter       (实现类，真正使用的管道)
    BufferedInputStream     BufferedOutputStream          BufferedReader      BufferedWriter   (实现类，高级缓冲流)
                                                          InputStreamReader   OutputStreamWriter

    字符输出转换流（OutputStreamWriter）：可以指定编码写字符出去。
    字符输出转换流创建对象:
        -- public OutputStreamWriter(OutputStream os):可以以当前代码默认编码把字节流转换成字符流。
        -- public OutputStreamWriter(OutputStream os,String charset):可以指定编码把字节流转换成字符流。
    小结：
        字符输出转换流可以指定编码写数据出去！！
 */
public class OutputStreamWriterDemo03 {
    public static void main(String[] args) throws Exception {
        // 可以指定编码把字节流转换成字符流。
        Writer osw = new OutputStreamWriter(new FileOutputStream("src/out03.txt"),"GBK");

        BufferedWriter bw = new BufferedWriter(osw);

        bw.write("我在黑马快乐的学习!!"); // 以默认编码
        bw.close();
    }
}
